Page({
  data: {
    dialogVisible: false,
    houseList: [],
    isPulling: false,
  },

  onShow() {
    this.getHouseList()
  },

  // 获取房屋列表
  getHouseList() {
    return wx.http.get('/room').then((res) => {
      if (res.code !== 10000) return wx.utils.toast('获取房屋列表失败')
      this.setData({
        houseList: res.data,
      })
    })
  },

  // scroll-view 被下拉 ==> 刷新页面 ==> 重新获取页面数据
  onPulling() {
    return this.getHouseList().then(() => {
      this.setData({
        isPulling: false,
      })
    })
  },

  onPullDownRefresh() {
    // 页面的下拉刷新，必须手动调用下面的方法才能关闭
    // wx.stopPullDownRefresh()
    this.onPulling().then(wx.stopPullDownRefresh)
  },

  dialogClose(ev) {
    // console.log(ev)
    // 如果用户确定要删除，那么 ev.detail 就应该是 confirm
    if (ev.detail === 'confirm') {
      // 1. 调接口删除
      // 2. 提示用户，刷新页面
      wx.http.delete(`/room/${this.id}`).then((res) => {
        if (res.code !== 10000) return wx.utils.toast('房屋删除失败')
        wx.utils.toast('房屋删除成功')
        this.getHouseList()
      })
    }
  },

  swipeClose(ev) {
    const { position, instance } = ev.detail

    // 记录操作的是哪个房屋
    this.id = ev.mark.id

    if (position === 'right') {
      // 说明是删除
      // 显示 Dialog 对话框
      this.setData({
        dialogVisible: true,
      })

      // swiper-cell 滑块关闭
      instance.close()
    }
  },

  goDetail(ev) {
    wx.navigateTo({
      url: '/house_pkg/pages/detail/index?id=' + ev.mark.id,
    })
  },

  addHouse() {
    wx.navigateTo({
      url: '/house_pkg/pages/locate/index',
    })
  },
})
